Java笔试易错点记录
子类构造方法如何调用
使用示例:
1 | public class Base { |
1 | public class Derived extends Base{ |
输出结果:
1 | public Derived(String s){ |
改成如下代码即可输出BD(或者个base类加一个无参构造函数也行):
1 | public Derived(String s){ |
原因分析:
在java中规定:一个父类可以有多个子类,但是一个子类只能有一个父类。子类可以通过extends关键字来继承父类。
通过继承,子类可以得到父类除构造函数以外所有的成员(包括成员变量和成员函数),但是要注意得到并不等于可以随便使用。
在创建子类对象时,父类的构造方法会先执行,因为子类中所有构造方法的第一行有默认的隐式super();语句,它是用来访问父类中的空参数构造方法,进行父类成员的初始化操作
this()是调用本类的构造方法,super()是调用父类的构造方法,且两条语句不能同时存在
无论如何,子类的所有构造方法,直接或间接必须调用到父类构造方法;子类的构造方法什么都不写,默认的构造方法第一行super()
子父类调用
使用示例:
1 | public class Base { |
1 | public class Derived extends Base{ |
输出结果是:
1 | base base |
-
感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 阜山的博客
评论